home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / -seriously_amiga- / shareware / comms / other / sayno / sayno.rexx < prev   
OS/2 REXX Batch file  |  1997-12-01  |  3KB  |  96 lines

  1. /* 
  2.    Program  : SayNo.rexx 
  3.    Purpose  : If you receive spam, send them a message back it got automatically
  4.               deleted and never viewed. Also lets them know any and all further
  5.               spam will receive the same treatment. Hopefully that will cause
  6.               them to remove you from their lists. Should work with most Amiga
  7.               mailers. If the allow you to save a complete mail via Arexx, even
  8.               better. If not, you'll have to save manually and run this script.
  9.               It first inserts a default message (example included), then inserts
  10.               the original spam adding a '> ' quote before all lines in there. 
  11.               After which it'll prompt you with a requester to insert an address
  12.               where to sent this reply.
  13.    Author   : paul@iaehv.nl
  14.    Version  : 1.0 15 November 1997. This program is FreeWare and may be used
  15.               by private persons. It may NOT be bundled with any shareware or
  16.               commercial package without my prior written approval.
  17.    Copyright: 1997 by Paul Kolenbrander. 
  18.    Required : An Amiga with AmigaDOS 2.x or higher. AmigaUUCP or AmiTCP/Miami
  19.               and Arexx, my RequestString program. (Included in this archive)
  20.  
  21.               Always check the spam headers for a valid address. Do not accept
  22.               the From or From: line as containing a valid return address. They
  23.               mostly do not. Check the 'Received:' headers. These mostly have a
  24.               link to where it came from...
  25.  
  26.               Script Parameters:
  27.               spam    -> Path and filename of the complete spam email. Including
  28.                          all the headers. Eg. ram:junkmail.
  29.  
  30. */
  31.  
  32. /*           VARIABLES - Adapt these to your configuration           */
  33. deftext = 'NoSpam'      /* Standard reply text. Add path if needed.  */
  34.  
  35. OPTIONS RESULTS
  36. PARSE ARG spam .
  37.  
  38. /* Check if files specified do exist */
  39. IF ~EXISTS(spam) THEN DO
  40.    SAY 'ERROR: File '||spam||' cannot be found! Check path/filename specified!'
  41.    EXIT
  42. END
  43.  
  44. IF ~EXISTS(deftext) THEN DO
  45.    SAY 'ERROR: Default response file '||deftext||' cannot be found! Check path/filename
  46. specified!'
  47.    EXIT
  48. END
  49.  
  50. SAY 'Processing spam message: '||spam
  51.  
  52. OPEN('defresp', deftext, 'R')
  53. OPEN('email', spam, 'R')
  54. OPEN('uitgaand', 'T:junkmail', 'W')
  55.  
  56. DO WHILE EOF('defresp') ~= 1
  57.    WRITELN('uitgaand', READLN('defresp'))
  58. END
  59.  
  60. WRITELN('uitgaand', ' ')
  61. WRITELN('uitgaand', 'Original Message follows:')
  62. WRITELN('uitgaand', ' ')
  63.  
  64. DO WHILE EOF('email') ~= 1
  65.    WRITELN('uitgaand', '> ' ||READLN('email'))
  66. END
  67.  
  68. CLOSE('default')
  69. CLOSE('email')
  70. CLOSE('uitgaand')
  71.  
  72. /* request an address from the user. You may want to add a path specification */
  73. OPTIONS RESULTS
  74. ADDRESS COMMAND 'RequestString > T:spammer'
  75. IF EXISTS('T:spammer') THEN DO
  76.    OPEN('adres', 'T:spammer', 'R')
  77.    spammer=READLN('adres')
  78.    CLOSE('adres')
  79.    IF (LENGTH(spammer) > 0) THEN DO
  80.       /* Set up default for AmigaUUCP */
  81.       ADDRESS COMMAND 'UUCP:C/SendMail <T:junkmail -f postmaster -R PostMaster -t '|| spammer ||' -s Notification_Of_Refused_Message'
  82.  
  83.       /* Alternative setup for AmiTCP and PutMail. Do comment out the AmigaUUCP setup if you use this one
  84.       ADDRESS COMMAND 'AmiTCP:bin/PutMail MAIL=T:junkmail TO='||spammer ||' SUB=Notification_Of_Refused_Message'
  85.       */
  86.       SAY 'Response mailed to:'||spammer
  87.    END
  88.    ELSE DO
  89.       SAY 'Not Mailed, Address not entered.'
  90.    END
  91. END
  92. ELSE DO
  93.    SAY 'Not Mailed, Address not entered.'
  94. END
  95. EXIT
  96.